1. Field of the Invention
The present invention generally relates to a method for reproducing data from an optical disk, and especially to a method for reproducing data recorded using a turbo code from a magneto-optical disk.
2. Description of the Related Art
Recently, because recording density of a magneto-optical disk and a data rate to record data to and retrieve data from the magneto-optical disk are being increased, the S/N (signal to noise) ratio of a reproduced signal from the magneto-optical disk is decreased. Therefore, recording and reproducing data using turbo code has been under study.
FIG. 1 shows a block diagram of an example of a turbo encoder according to the prior art. The example of the turbo encoder as shown in FIG. 1 has the first encoder 101, an interleaver 102 and the second encoder 103. The first encoder 101 and the second encoder 103 are recursive systematic convolutional encoders. The interleaver 102 changes a bit arrangement order of an input data bit sequence. As shown in FIG. 1, the input data bit sequence u is convolutional-encoded by the first encoder 101 and the bit arrangement order of the convolutional-encoded bit sequence is changed by the interleaver 102. Next, the output bit sequence supplied from the interleaver 102 is convolutional-encoded by the second encoder 103 and the encoded data bit sequence yk is output from the second encoder 103.
FIG. 2 shows a block diagram of an example of an information recording and reproduction apparatus 200 according to the prior art. The information recording and reproduction apparatus 200 is an optical disk apparatus 200 that uses a magneto-optical (MO) disk 221 as a recording medium. The optical disk apparatus 200 has a recording and reproduction system 202, a write system 201 that writes data on the magneto-optical disk 221 and a read system 203 that reads the recorded data from the magneto-optical disk 221. The recording and reproduction system 202 has an optical head that has an optical beam output unit (for example, a laser diode (LD)) and a photo detector, and a disk drive mechanism 222 that rotates the magneto-optical disk 221 at a predetermined angular speed.
The write system 201 has an encoder 211, a MUX and puncture block 212, an interleaver 213 and an LD driver circuit 214. FIG. 3 shows a block diagram of an example of an encoder 211 of the write system according to the prior art. The encoder 211 is a recursive systematic convolutional encoder that has, for example, delay units 311 and 312 and two exclusive-OR gates 315 and 316. The encoder shown in FIG. 3 generates a parity bit sequence pk that corresponds to a user data sequence uk to be recorded by means of convolutional-encoding the user data sequence uk using the constraint length of three. The MUX and puncture block 212 shown in FIG. 2 combines the user data sequence uk with the parity bit sequence pk generated by the encoder 211 according to a predetermined rule and removes data bits from the combined sequence to generate a punctured coded data bit sequence ai. The removal of the data bits from the combined sequence mentioned above is called a puncture function. The interleaver 213 changes a bit order of the coded data bit sequence ai supplied from the MUX and puncture block 212 based on the predetermined rule to generate a coded data bit sequence ci.
The LD driver circuit 214 controls and drives the optical beam output unit in the recording and reproduction system 202 based on the coded data, bit sequence ci and the optical beam output unit supplies the optical beam. As a result, a signal is written to the magneto-optical disk 221 by means of the optical beam supplied from the optical beam output unit.
The read system 203 of the information recording and reproduction apparatus 200 mainly has an amplifier 231, an AGC (automatic gain controller) 232, a low-pass filter 233, an equalizer 234, an analog to digital converter 235, a memory 236, a repetition decoder 237 and a controller 238. The MO signal 223 supplied from the photo detector in the recording and reproduction system 202 is equalized to approximately be an ideal partial response waveform (PR waveform) by means of the amplifier 231, the AGC 232, the low-pass filter 233 and the equalizer 234. Therefore, the MO reproduction signal 223 from the magneto-optical disk 221 at the output of the equalizer 234 is practically equal to an encoded signal through an partial response (PR) channel. As a result, the encoder 211 in the write system and the practical encoding function by the PR channel, through which PR channel the output of the interleaver 213 is encoded, construct a turbo encoder as shown in FIG. 1. That is to say, the first encoder 101 as shown in FIG. 1 corresponds to the encoder 211 and the MUX and puncture block 212 as shown in FIG. 2, the interleaver 102 as shown in FIG. 1 corresponds to the interleaver 213 as shown in FIG. 2, and the second encoder 103 as shown in FIG. 1 corresponds to the PR channel 250 as shown in FIG. 2.
Furthermore, in the read system 203, the output signal from the equalizer 234 is converted to the digital value (a sampled value) at a predetermined period by the analog to digital converter 235. Then, the sampled values yi which are sequentially output from the analog to digital converter 235 are stored in the memory 236. Next, the sampled values yi stored in the memory 236 are decoded (turbo-decoded) by the repetition decoder 237. The controller 238 controls the operation and decoding conditions of the repetition decoder 237.
The method for decoding the turbo code is the MAP (maximum a posteriori probability) decoding method, and so on. However, because the MAP decoding method requires relatively large computational complexity, the decoder for decoding the turbo code that uses the MAP decoding method requires a complex and large scale circuit. Therefore, it is not easy to raise the operational speed of such a decoder for decoding the turbo code.
FIG. 4 shows a decoding method for decoding the turbo code in a case wherein the repetition decoder 237 as shown in FIG. 2 consists of a single turbo decoder. Each of data blocks 401 and 402 is respectively one interleave unit that is interleaved by the interleaver 213 as shown in FIG. 2, that is to say, the data block is one unit to be turbo-encoded by the turbo-encoding process. The horizontal axis shown in FIG. 4 shows an elapsed time.
In FIG. 4, the start of the data block 401 is supplied to the memory 236 as shown in FIG. 2 at time t1 and the whole data block 401 is stored in the memory 236 at time t2. The repetition decoder 237 as shown in FIG. 2 starts decoding the data block 401 from time t2. Next, the start of the data block 402 is supplied to the memory 236 at time t2 and the whole data block 402 is stored in the memory 236 at time t3. However, the repetition decoder 237 as shown in FIG. 2 cannot start decoding the data block 402 at time t3 because the repetition decoder 237 is presently decoding the data block 401.
At time t4, the repetition decoder 237 finishes decoding the data block 401 and it starts outputting the decoded data of the data block 401. At the same time, the repetition decoder 237 starts decoding the data block 402 from time t4 and finishes decoding the data block 402 at time t5. Then, the repetition decoder 237 starts outputting the decoded data of the data block 402 at time t5.
As described above, if the repetition decoder 237 shown in FIG. 2 is constructed by one turbo decoder, it is not possible to immediately start decoding the data blocks that continuously arrive at the memory 236 at the time they arrive at the memory 236. Therefore, it is required to wait to start decoding the next data block until the decoding of the present data block is fully completed, so the succeeding data blocks have to be kept in the memory 236. As a result, the processing time is prolonged and it is not possible to continuously output data from the repetition decoder 237.
On the other hand, to solve the problem mentioned above, if a plurality of the same turbo decoders are provided in the repetition decoder 237, it is possible to decode the plurality of the data blocks in parallel. Therefore, it is possible to reduce the processing time and to start processing the data blocks that continuously arrive at the memory 236 at the time they arrive at the memory 236. However, if the plurality of the turbo decoders are provided in the repetition decoder, the circuit scale and the cost of the decoder are increased.